package com.ruoyi.biz.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.biz.model.dto.BizProjectDto;
import com.ruoyi.biz.model.req.*;
import com.ruoyi.biz.model.resp.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.biz.domain.BizProject;

/**
 * 项目信息Mapper接口
 * 
 * @author tianl
 * @date 2024-12-20
 */
@Mapper
public interface BizProjectMapper extends BaseMapper<BizProject> {
    IPage<InvoiceProjectResp> listInvoice(IPage page, @Param("model") InvoiceProjectReq req);
    List<InvoiceProjectResp> listInvoice(@Param("model") InvoiceProjectReq req);
    IPage<ReceiptProjectResp> listReceipt(IPage page, @Param("model") ReceiptProjectReq req);
    List<ReceiptProjectResp> listReceipt(@Param("model") ReceiptProjectReq req);
    IPage<CostProjectResp> listCost(IPage page, @Param("model") CostProjectReq req);
    List<CostProjectResp> listCost(@Param("model") CostProjectReq req);

    IPage<BizProjectResp> list(IPage page, @Param("model") BizProjectReq req);

    List<BizProjectResp> list(@Param("model") BizProjectReq req);
    List<BizProjectSimpleResp> listAll(@Param("model") BizProjectReq req);

    List<BizProject> listStat(@Param("model") StatReq req);
    List<BizProjectResp> listStatResp(@Param("model") StatReq req);

    List<BizProjectResp> listStat2(@Param("model") StatReq req);
    List<Long> listProjectId(@Param("model") ProjectQueryReq req);
    BizProjectResp findDetail(Long id);
    void updateOverdue();
}
